/*
 *   项目名称：rpc-demo
 *   文件名称：com.xiaolon.rpc.protocol.ProtocolMessageTypeEnum
 *
 *   创建人：  ZHOU XIAO LONG
 *   创建日期：2024/12/9
 *
 */
package com.xiaolon.rpc.protocol;

import lombok.Getter;

/*
 * 类描述：ProtocolMessageTypeEnum
 * 协议消息的类型枚举
 */
@Getter
public enum ProtocolMessageTypeEnum {
    REQUEST(0),
    RESPONSE(1),
    HEART_BEAT(2),
    OTHERS(3);
    private final int key;

    ProtocolMessageTypeEnum(int key){
        this.key = key;
    }

    /**
     * 根据key获取枚举值
     * @param key
     * @return
     */
    public static ProtocolMessageTypeEnum getEnumByKey(int key){
        for (ProtocolMessageTypeEnum anEnum : ProtocolMessageTypeEnum.values()) {
            if(anEnum.key == key) return anEnum;
        }
        return null;
    }
}
